package org.rsbot.loader;

import org.rsbot.loader.asm.AnnotationVisitor;
import org.rsbot.loader.asm.Attribute;
import org.rsbot.loader.asm.ClassVisitor;
import org.rsbot.loader.asm.FieldVisitor;
import org.rsbot.loader.asm.Label;
import org.rsbot.loader.asm.MethodVisitor;

public class VersionVisitor
  implements ClassVisitor
{
  private int version;

  public int getVersion()
  {
    return this.version;
  }

  public void visit(int paramInt1, int paramInt2, String paramString1, String paramString2, String paramString3, String[] paramArrayOfString)
  {
  }

  public void visitSource(String paramString1, String paramString2)
  {
  }

  public void visitOuterClass(String paramString1, String paramString2, String paramString3)
  {
  }

  public AnnotationVisitor visitAnnotation(String paramString, boolean paramBoolean) {
    return null;
  }

  public void visitAttribute(Attribute paramAttribute)
  {
  }

  public void visitInnerClass(String paramString1, String paramString2, String paramString3, int paramInt)
  {
  }

  public FieldVisitor visitField(int paramInt, String paramString1, String paramString2, String paramString3, Object paramObject) {
    return null;
  }

  public MethodVisitor visitMethod(int paramInt, String paramString1, String paramString2, String paramString3, String[] paramArrayOfString) {
    if (!paramString1.equals("main")) {
      return null;
    }
    return new MethodVisitor()
    {
      public AnnotationVisitor visitAnnotationDefault() {
        return null;
      }

      public AnnotationVisitor visitAnnotation(String paramString, boolean paramBoolean) {
        return null;
      }

      public AnnotationVisitor visitParameterAnnotation(int paramInt, String paramString, boolean paramBoolean)
      {
        return null;
      }

      public void visitAttribute(Attribute paramAttribute)
      {
      }

      public void visitCode()
      {
      }

      public void visitFrame(int paramInt1, int paramInt2, Object[] paramArrayOfObject1, int paramInt3, Object[] paramArrayOfObject2)
      {
      }

      public void visitInsn(int paramInt)
      {
      }

      public void visitIntInsn(int paramInt1, int paramInt2) {
        if ((paramInt1 == 17) && (paramInt2 > 400) && (paramInt2 < 768))
          VersionVisitor.access$002(VersionVisitor.this, paramInt2);
      }

      public void visitVarInsn(int paramInt1, int paramInt2)
      {
      }

      public void visitTypeInsn(int paramInt, String paramString)
      {
      }

      public void visitFieldInsn(int paramInt, String paramString1, String paramString2, String paramString3)
      {
      }

      public void visitMethodInsn(int paramInt, String paramString1, String paramString2, String paramString3)
      {
      }

      public void visitJumpInsn(int paramInt, Label paramLabel)
      {
      }

      public void visitLabel(Label paramLabel)
      {
      }

      public void visitLdcInsn(Object paramObject)
      {
      }

      public void visitIincInsn(int paramInt1, int paramInt2)
      {
      }

      public void visitTableSwitchInsn(int paramInt1, int paramInt2, Label paramLabel, Label[] paramArrayOfLabel)
      {
      }

      public void visitLookupSwitchInsn(Label paramLabel, int[] paramArrayOfInt, Label[] paramArrayOfLabel)
      {
      }

      public void visitMultiANewArrayInsn(String paramString, int paramInt)
      {
      }

      public void visitTryCatchBlock(Label paramLabel1, Label paramLabel2, Label paramLabel3, String paramString)
      {
      }

      public void visitLocalVariable(String paramString1, String paramString2, String paramString3, Label paramLabel1, Label paramLabel2, int paramInt)
      {
      }

      public void visitLineNumber(int paramInt, Label paramLabel)
      {
      }

      public void visitMaxs(int paramInt1, int paramInt2)
      {
      }

      public void visitEnd()
      {
      }
    };
  }

  public void visitEnd()
  {
  }
}